利用VideoView撥放影片,並用ImageView當作撥放和暫停的按鈕
將ImageView的visibility
屬性改為gone
,代表隱藏且不占畫面的面積
<VideoView
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/videoView"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
<ImageView
android:visibility="gone"
android:layout_width="40dp"
android:layout_height="40dp" app:srcCompat="@android:drawable/ic_media_pause"
android:id="@+id/imageView" android:layout_weight="1"
app:layout_constraintStart_toStartOf="@+id/videoView"
app:layout_constraintEnd_toEndOf="@+id/videoView" android:layout_marginEnd="8dp"
app:layout_constraintTop_toTopOf="@+id/videoView" android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="@+id/videoView"/>
在res資料夾中新增一個叫raw的資料夾,並把要撥放的影片放在裡面
利用.setVideoURI()
載入影片,.start()
開始撥放影片
videoView.setVideoURI(Uri.parse("android.resource://" + packageName + "/" + R.raw.firework))
videoView.start()
使用.isPlaying
取得影片的撥放狀態
當影片在撥放時,使用.pause()
暫停影片,影片暫停時用.start()
撥放影片
imageView.setOnClickListener {
if (videoView.isPlaying) {
//更換ImageView的圖示
imageView.setImageResource(android.R.drawable.ic_media_play)
videoView.pause()
} else {
imageView.setImageResource(android.R.drawable.ic_media_pause)
videoView.start()
}
}
當VideoView被按下時,讓ImageView改為可見,再次被按下時隱藏
videoView.setOnClickListener {
if(imageView.isVisible){
imageView.isVisible = false
}else{
imageView.isVisible = true
}
}
住屏東這麼久,第一次看到屏東這麼多人...